chore(deps): update go dependencies #418
Open
+120
−120
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.120.0->v0.123.0v0.16.0->v0.17.0v0.6.0->v0.9.0v1.5.0->v1.5.3v1.21.2->v1.23.2v0.6.6->v0.7.02c00c10->b12090cv0.12.1->v0.15.1v0.14.0->v0.20.0v1.18.0->v1.20.0v1.9.0->v1.13.1v1.11.1->v1.11.2v1.1.1->v1.2.0v0.11.29->v0.11.30v0.9.23->v0.9.24v0.5.12->v0.5.13v0.4.6->v0.4.7v0.3.0->v0.3.1v0.2.1->v0.2.2v0.6.0->v0.6.1v1.4.2->v1.6.0v1.2.5->v1.6.0v0.0.4->v0.0.5v1.0.0->v1.0.1v0.1.0->v0.1.1v1.2.1->v1.3.13v1.3.2->v1.4.8v1.17.67->v1.19.2v1.16.30->v1.18.14v1.3.34->v1.4.14v1.8.3->v1.8.4v1.12.3->v1.13.3v1.12.15->v1.13.14v1.22.3->v1.23.2v0.9.1->v0.11.0v0.13.3->v0.16.0v1.3.1->v1.4.0v1.3.7->v1.6.1v0.16.3->v0.18.13a137a8->ffadbf3220c5c2->c455327v0.9.3->v0.9.4v1.13.4->v1.14.2v1.8.0->v1.9.0v1.4.2->v1.4.3v0.23.0->v0.24.1v0.22.1->v0.22.4v0.21.0->v0.22.3v0.21.0->v0.21.3v0.22.0->v0.23.2v0.28.0->v0.29.2v0.21.0->v0.22.1v0.23.0->v0.25.0v0.23.1->v0.25.4v0.24.0->v0.25.1v1.3.1->v1.3.2v0.6.9->v0.7.1v0.20.3->v0.20.7v0.3.6->v0.3.7v1.1.1->v1.1.2v1.18.0->v1.18.2v0.0.0-20240620165639-de9c06129bec->v0.20251118.0v0.9.0->v0.9.1v1.1.0->v1.11.0v1.22.0->v1.23.2v0.63.0->v0.67.4v0.15.1->v0.19.2a5fe556->fcb97ccv0.7.0->v0.12.0v0.9.0->v0.9.1v1.6.6->v1.8.2v0.4.2->v0.5.0v1.3.10->v1.4.3v1.9.4->v1.10.0v0.7.2->v0.7.3v1.9.4->v1.10.0v1.9.4->v1.10.0v1.9.4->v1.10.0v1.9.4->v1.10.0v1.2.7->v1.2.9v1.12.0->v1.15.0v1.7.1->v1.10.0v1.9.1->v1.10.1v1.0.6->v1.0.10v1.20.1->v1.21.0v1.10.0->v1.11.1v0.12.1->v0.12.2v0.128.0->v0.161.1v1.14.0->v1.17.6v1.1.0->v1.2.1v0.60.0->v0.63.0v0.60.0->v0.63.0v0.63.0->v0.74.0v0.35.0->v0.45.0v0.40.0->v0.45.0054e65f->87e1e73v0.25.0->v0.30.0v0.42.0->v0.47.0v0.30.0->v0.33.0v0.16.0->v0.18.0v0.34.0->v0.38.0v0.33.0->v0.37.0v0.27.0->v0.31.0v0.12.0->v0.14.0v0.34.0->v0.39.0v0.230.0->v0.256.0a0af3ef->79d6a2a207652e->79d6a2a207652e->79d6a2av0.28.3->v0.34.2v0.28.3->v0.34.2v0.28.3->v0.34.2c8a335a->4e65d5924370be->bc988d5cfa47c3->2d32026v0.11.1->v0.12.2v1.4.0->v1.6.0Warning
Some dependencies could not be looked up. Check the warning logs for more information.
Release Notes
googleapis/google-cloud-go (cloud.google.com/go)
v0.123.0Compare Source
Features
Bug Fixes
v0.122.0Compare Source
Features
Bug Fixes
v0.121.6Compare Source
Bug Fixes
v0.121.5Compare Source
Bug Fixes
v0.121.4Compare Source
Bug Fixes
parentfield indata_chat_service.proto(98ba6f0)v0.121.3Compare Source
Documentation
v0.121.2Compare Source
Documentation
v0.121.1Compare Source
Bug Fixes
v0.121.0Compare Source
Features
v0.120.1Compare Source
Bug Fixes
cue-lang/cue (cuelang.org/go)
v0.15.1Compare Source
Evaluator
Fix an evalv3 regression first introduced in
v0.11.0where theandbuilt-in function started evaluating its arguments too eagerly, causing failures incue def.Fix an evalv3 regression where closedness info could be lost when using a comprehension.
Fix a bug where the evaluator would panic on alias cycles with dynamic fields rather than giving a good error.
LSP
Formatting standalone CUE files - either without a package name, or outside of a CUE module - now works correctly.
Fix a bug where trying to use "find references" on a CUE module with nested modules would cause a hang.
Fix a bug where resolving path roots did not work correctly in the presence of struct embeddings.
cmd/cueFix a regression in
v0.15.0wherecue get gono longer skipped generating CUE files without any declarations.Go API
Fix a bug in the
subsumepackage where a struct with a pattern constraint did not subsume a closed struct with a matching field.Rename the
bootstrapbuild tag used in theinternal/filetypespackage tocuebootstrapto avoid conflicts with build tags in other Go modules.Full list of changes since v0.15.0
350755ebcc9a45bf16055e64569ff2076ae6d75085cf6c597andto use Func instead of RawFunc by @mvdan in37e8637de5328ea229275bca0a5594f2f0eget goagain by @mvdan in819474ce61516d2e8e111f81118cv0.15.0Compare Source
Changes which may break some users are marked below with:⚠️
Note that this release no longer includes a
checksums.txtasset; GitHub now provide digests natively.LSP
This release includes the initial version of
cue lsp- with support for "go to definition", "find references", rename, code completion, hover documentation, and code formatting.See our Getting Started wiki page for instructions on how to set it up with your editor.
Please report any bugs or missing features you encounter via the Issue tracker or via the
#lspchannels on Discord or Slack.Language
explicitopenexperiment for#A...The
explicitopenper-file experiment enables the posfix...operator to explicitly open closed structs, allowing additional fields to be added. This change simplifies CUE's semantics, reduces user confusion, and enables clearer expression of type extensibility patterns.You can try this experiment by following our how-to guide. For more information, see the proposal on GitHub and the spec change patch.
aliasv2experimentThe
aliasv2per-file experiment implements the new "postfix aliases" syntax, and introduces a "self" predeclared identifier referring to the innermost surrounding struct or list.You can try this experiment by following our how-to guide. For more information, see the proposal on GitHub and the spec change patch.
Other experiments
keepvalidatorsglobal experiment is now stable, meaning thatCUE_EXPERIMENT=keepvalidatorsis always enabled.With its proposal accepted, the
structcmpper-file experiment is now stable withlanguage.versionatv0.15.0or later, meaning that the@experiment(structcmp)attribute is unnecessary as it's always enabled.Evaluator
evalv2The old
evalv2evaluator, which previously could be re-enabled viaCUE_EXPERIMENT=evalv3=0, is now deleted. The newevalv3evaluator has been on by default sincev0.13.0, and at this point our entire test suite including Unity is working.Removing the old evaluator reduces significant load on development, as we were able to clear out 4000 lines of code, and simplify the internal types and code structure. This is a necessary step to unblock ongoing feature and performance work in the evaluator.
As a bonus, because the old and new evaluators shared many core evaluator types, removing the fields only used by the old evaluator yields modest memory usage improvements of around 4-6%.
Performance
Evaluating concrete CUE values no longer involves dependency analysis; this should result in modest speed improvements when marshaling to YAML, via either
cue export -e expr -o yamloryaml.Marshal.Dependency analysis now avoids computing references more than once, which resolves an expontential performance issue for some configurations using chains of CUE references.
Add caching to a part of the typochecker algorithm; this has been measured to provide performance improvements of up to 30% on a few large projects.
cue/parsernow reuses more memory, which results in parsing performance improvements of up to 30% and memory savings of up to 50%, especially when loading large CUE data files.Other changes
File embedding via the
@embedattribute has gained anallowEmptyGloboption, to allow glob patterns to match zero files without causing an error.The evaluator now shows all user errors created with the
errorbuiltin when they can be related to a disjunction failure. Previously, the evaluator would try to only show user errors directly part of a disjunction error, but that caused too many omissions.Some error positions which were lost in the transition from
evalv2toevalv3have been reintroduced.Fix a bug where required fields in a definition might not be enforced when unifying with an inline struct in an expression, such as
(#RequiresFoo & {bar: "baz"}).bar.Fix a regression introduced in
v0.12.0where incomplete errors were not being handled consistently if they directly involved the top-level value.A number of panics and error regressions in the evaluator which were reported since v0.14 have been fixed; thank you to all who reported these.
cmd/cueA new
cue help experimentscommand is introduced to document all available per-file and global experiments.The
cue fix --expflag is introduced to rewrite files or packages to use new and experimental semantics with@experimentattributes.cue mod mirrornow copies OCI referrers between registries, which ensures that artifacts like signatures and attestations which reference modules being mirrored are copied as well.cue mod resolvegains a--depsflag that lists all dependencies of the current module and which registries they resolve to.cue get gogains an--outfileflag to generate exactly one CUE file for a single Go package, which can be useful when integratingcue get gointo build systems like Bazel.Fix a regression introduced in
v0.9.0where loading a qualified pattern like./...:pkgnameno longer filtered files based on the package name given.cue get gonow stops on any Go package loading error. Trying to continue in the presence of syntax or type-checking errors could lead to generating incorrect CUE.Encodings
Initial support for encoding CUE schemas as JSON Schema is added. This includes a new encoding/jsonschema.Generate Go API, as well as CLI support via
cue def --out jsonschema. This is currently very experimental, and many features are missing. For now, it can only generate a single version of JSON Schema,draft/2020-12.The YAML library in the archived Go module
gopkg.in/yaml.v3has been replaced bygo.yaml.in/yaml/v3, an active fork now maintained by the YAML organization.cue exp gengotypesis improved to handle more edge cases with CUE package imports which could result in broken Go code.The Protobuf decoder has been tweaked to not require files such as
google/protobuf/timestamp.prototo exist on disk, given that they are mapped to CUE standard library APIs directly.The Protobuf decoder has also been tweaked to support fully qualified references such as
my.pkg.name.MessageName.A bug is fixed in the TOML decoder where sub-table keys could incorrectly lead to duplicate key errors.
Standard library
The
netpackage has gained newAddIPandAddIPCIDRfunctions to add numerical offsets to IP addresses or CIDR networks.The
Atoi,ParseInt, andParseUintfunctions in thestrconvpackage now work on integers with unlimited precision, like the rest of the CUE evaluator, rather than just a maximum of 64 bits.Go API
The new cue.Value.IsClosed and cue.Value.IsClosedRecursively methods report whether a value has been closed at the top level or recursively, which is useful information when writing schema encodings.
The new cue.Patterns and cue.Selector.Pattern APIs allow introspecting pattern constraints in CUE struct values.
The new encoding/yaml.Decoder API allows decoding a stream of YAML documents, given that existing APIs did not support streams of multiple YAML documents.
encoding/jsongains JSON Pointer APIs, which are already useful in packages likeencoding/jsonschema.cue/astintroducesPostfixExprto support upcoming additions to the language syntax.cue/astintroducesStringLabelNeedsQuotingto determine whether a string label needs to be quoted when used in CUE syntax.cue/astintroducesNewStringLabelto create anast.Labelas either an unquoted identifier or a quoted string, depending on whether the string label needs quoting.tools/fixhas gained new APIs to fix configs to use an active experiment, as well as fixing configs to a newer language version.cueintroduces aPath.Appendconvenience method.cue/build.Instance.Matchis removed, given that it was never set to any value at any point since it was added.cue/tokenis adjusted so that node positions within a file never result in an offset which is outside the bounds of the file. This could easily lead to subtle bugs or panics when using node position offsets.cue/errorsis adjusted so thatPositionsonly collects printable positions, to prevent printing empty positions in the CLI.cue/astdeprecates theFile.Importsfield in favor of theFile.ImportSpecsiterator method. The iterator methodFile.ImportDeclsis also introduced for completeness.cue.ResolveReferencesoption API is now removed.cue/parser.DeprecationError.Versionis deprecated, as tracking CUE language versions via integers has not been used sincev0.4.3, and the mechanism was never properly documented.Full list of changes since v0.14.0
4aad0653b2b9b4f8bf47aa650c53ab19f9827f57975634c58f1cd0d252f26f9020764b7d69171b979ace57c6f9f7e9a83e6ed9b98eca4996083dd0382c321f2e7e5af1bfde52cc3d92d6d58d634ba9572e79d2eabbf6f4fa77e741e5706dbd88bc991e30ed22dcf1d8dea3faa14472bed7a839ba8385f87d0090a15afd5044dba4e93c434c25322ae64182de7dcbdf624300be6feb520cue get go --outfilelogic by @mvdan in64910136c2aa6a9623737852de618972e066543708f4ba49bgo fix -inlineon ImportPathName by @mvdan in1850e9b654b5c0aae1e07bdc39015303c60aba5ee2bfe4aba738e6e4go fix -inlineby @mvdan in70d6a9c279e355b85644fa94cfbc2606457e735c99f0d24a97b65843289580615f2a53de886bcff6f38b3d8e9ea64a5e68d4d62e62b281ea23a328a4d8b1daa25fb94166a8510eb7de78d2909c8df341ba8dce0b3dabab4d92ce18](https://redirec